atomic-lib
Status: Alpha. Prone to breaking changes. Changelog
Rust library for using Atomic Data.
The atomic
CLI and atomic-server
applications both use this atomic-lib
library.
- In-memory store for getting / setting data (
Store
) - On disk ACID compliant store / database (
Db
, uses Sled) - Path traversal
- Parse and serialize AD3
- JSON + JSON-LD Serialization
- Convert to Rust native types
- Resolve / parse mappings (bookmarks)
- Validate Atomic Graphs
- Mutations (linked-delta's)
- RDF (turtle / N-Triples) Serialization
- Strategy for extending datatypes (Currently uses an
enum
) - TPF queries
- Performant TPF queries from Db (create index)
- Async resource fetching (faster)
- Store - server write interaction (update resource, send deltas to server)
Usage
# Add it to your project
use atomic_lib;
Optional features
Some features of this library are optional, to minimize bundle size and compile times.
db
The db features adds persistence, which means that you can store stuff on an HDD / SSD. It uses [Sled], a performant, embedded key-value store.
rdf
If you need RDF serialization options (Turtle / N-Triples), use this feature.